import 'package:flutter/material.dart';
import 'MyRouter.dart';

extension Context on BuildContext {
  // 不带参数的跳转
  Future<T?> routeTo<T extends Object?>(Type router) {
    return MyRouter.routeTo(this, router);
  }

  // 通过这种方式，可以先获取页面对象的实例
  // 然后通过实例对象去调用 arguments 方法，最后调用 to 即可完成路由跳转
  RT routeOf<RT extends RouterBridge>() {
    assert(RT != RouterBridge<dynamic>,
    "You must specify the route type, for example: \"context.routeOf<Page>()\";");
    return MyRouter.of<RT>(this);
  }

  // 扩展国际化
}